package com.zero.business.order.controller;


import com.zero.business.order.service.OrderService;
import com.zero.business.order.transfer.OrderTransferService;
import com.zero.common.domain.Page;
import com.zero.common.domain.Result;
import com.zero.domain.Order;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

@RestController
@RequestMapping("order")
public class OrderController {

    // 处理 controller 层的一些业务逻辑，相当于中转站
    @Resource
    private OrderTransferService transfer;

    @Resource
    private OrderService orderService;

    /*
    *   会员使用单车
    * */
    @PostMapping("useBicycle")
    public Result useBicycle(String userId, String bicycleId){

        int i = Integer.parseInt(userId);
        int j = Integer.parseInt(bicycleId);

        transfer.useBicycle(i, j);

        return new Result("开锁中...");

    }

    /*
    *   查询会员用车记录
    *       根据 userId 分页查询 ，包含会员的名字、头像和总积分信息
    * */
    @GetMapping("getMemberOrder")
    public Result getMemberOrder(Integer userId){

        Page<Order> page = orderService.getMemberOrder(userId);

        return Result.success("查询成功", page);

    }


    /*
    *   会员锁车还车
    *     锁车时计算用车费用，费用为：用车时间(单位为分钟，不足一分钟按1分钟计算)*1.5 元 ，
    *     用户的积分可以抵扣车费，每两个积分抵扣0.5元车费(自动抵扣)，以上操作完成后给会员增加一个积分
    * */
    @GetMapping("backBicycle")
    public Result backBicycle(Integer userId, String orderSn){

        orderService.backBicycle(userId, orderSn);

        return Result.success("还车成功");
    }



}
